package com.ctg.payroll2.service.workflow;

import java.sql.SQLException;
import java.util.List;

import com.ctg.payroll2.bean.filter.WorkflowTaskFilter;
import com.ctg.payroll2.bean.po.PayClass;
import com.ctg.payroll2.bean.po.workflow.FlowInstance;
import com.ctg.payroll2.bean.po.workflow.FlowPayData;
import com.ctg.payroll2.bean.po.workflow.FlowStepRun;
import com.ctg.platform.util.Page;

public interface WorkflowTaskService {
	Page queryTask(WorkflowTaskFilter filter);
	public Integer querySubCompanyCount(WorkflowTaskFilter filter) throws SQLException;
	public FlowStepRun queryStartFlowStepRun(WorkflowTaskFilter filter) throws SQLException;
	public List querySubCompanys(WorkflowTaskFilter filter) throws SQLException;
	public int queryPayLogByPeriod(WorkflowTaskFilter filter) throws SQLException;
	public int getEmployeeCountOfCompany(WorkflowTaskFilter filter) throws SQLException;
	public int getEmployeeCountOfPayData(WorkflowTaskFilter filter) throws SQLException;
	public void addTask(WorkflowTaskFilter filter) throws SQLException;
	public void updateTask(WorkflowTaskFilter filter) throws SQLException;
	public void rollBackTask(WorkflowTaskFilter filter) throws SQLException;
	public FlowInstance queryFlowInstance(WorkflowTaskFilter filter) throws SQLException;
	public List<PayClass>  queryCompanyPayData(WorkflowTaskFilter filter) throws SQLException;
	public List<FlowPayData>  queryAreaFromPayData(WorkflowTaskFilter filter) throws SQLException;
	public List<FlowPayData>  queryGroupFromPayData(WorkflowTaskFilter filter) throws SQLException;
}
